package com.bm.service;

import com.bm.Do.Repair.RepairMyListDo;
import com.bm.Vo.Repair.RepairAllotVo;
import com.bm.Vo.Repair.RepairDetailVo;
import com.bm.Vo.Repair.RepairListVo;
import com.bm.Vo.Repair.RepairMyDetailVo;
import com.bm.model.EjyyRepair;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bm.query.Common.DetailQuery;
import com.bm.query.Repair.*;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
*
*/
public interface EjyyRepairService extends IService<EjyyRepair> {

    /**
     * 分页查询全部
     * @param repairListQuery
     * @return
     */
    PageInfo<RepairListVo> repairList(RepairListQuery repairListQuery);

    /**
     * 新增工单
     * @param repair
     * @return
     */
    boolean createRepair(EjyyRepair repair);

    /**
     * 工单详情
     * @param detailQuery
     * @return
     */
    RepairDetailVo DetailRepair(DetailQuery detailQuery);

    /**
     * 查询工单
     * @param repairAllotQuery
     * @return
     */
    RepairAllotVo repairAllot(RepairAllotQuery repairAllotQuery);

    /**
     * 确认维修
     * @param repairConfirmQuery
     * @return
     */
    Boolean repairConfirm(RepairConfirmQuery repairConfirmQuery);

    /**
     * 维修完成
     * @param repairFinishQuery
     * @return
     */
    Boolean repairFinish(RepairFinishQuery repairFinishQuery);

    /**
     * 合并工单选项
     * @param detailQuery
     * @return
     */
    List<EjyyRepair> repairMergeOption(DetailQuery detailQuery);

    /**
     * 获取合并id
     * @param repairMergeQuery
     * @return
     */
    Long repairMerge(RepairMergeQuery repairMergeQuery);

    /**
     * 查询维修的详情信息
     * @param detailQuery
     * @return
     */
    RepairMyDetailVo repairMyDetail(DetailQuery detailQuery);

    /**
     * 查询自己的维修记录
     * @param repairMyListQuery
     * @return
     */
    PageInfo<RepairMyListDo> repairMyList(RepairMyListQuery repairMyListQuery);
}
